package com.example.manage_dzensaas.pojo.entity.db2;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单表
 * @TableName consumer_order
 */
@TableName(value ="consumer_order")
@Data
public class ConsumerOrder {
    /**
     * 订单ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 订单编号(时间戳+uid)
     */
    @TableField(value = "order_number")
    private Long orderNumber;

    /**
     * 订单类型1商品 2电影 3蛋糕 4和卡订单 5权益订单  6话费充值
     */
    @TableField(value = "order_type")
    private Integer orderType;

    /**
     * 商品类型1实体商品2虚拟商品
     */
    @TableField(value = "product_type")
    private Integer productType;

    /**
     * 用户ID
     */
    @TableField(value = "consumer_id")
    private Long consumerId;

    /**
     * 下单用户名
     */
    @TableField(value = "consumer_name")
    private String consumerName;

    /**
     * 下单手机号
     */
    @TableField(value = "consumer_phone")
    private String consumerPhone;

    /**
     * 用户下单时间
     */
    @TableField(value = "consumer_order_time")
    private Date consumerOrderTime;

    /**
     * 用户支付时间
     */
    @TableField(value = "consumer_pay_time")
    private Date consumerPayTime;

    /**
     * 分销商下单时间
     */
    @TableField(value = "agent_order_time")
    private Date agentOrderTime;

    /**
     * 站点支付时间
     */
    @TableField(value = "site_pay_time")
    private Date sitePayTime;

    /**
     * 
     */
    @TableField(value = "site_pay_money")
    private BigDecimal sitePayMoney;

    /**
     * 分销商支付时间
     */
    @TableField(value = "agent_pay_time")
    private Date agentPayTime;

    /**
     * 分销商支付金额
     */
    @TableField(value = "agent_pay_money")
    private BigDecimal agentPayMoney;

    /**
     * 运费金额
     */
    @TableField(value = "shipp_amount")
    private BigDecimal shippAmount;

    /**
     * 付款状态0否1是2已退款
     */
    @TableField(value = "pay_status")
    private Integer payStatus;

    /**
     * 支付类型: 1=余额、2=现金、3=余额+现金、4=积分、5=余额+积分、6=余额+积分+现金、7=积分+现金
     */
    @TableField(value = "pay_type")
    private Integer payType;

    /**
     * 优惠劵ID
     */
    @TableField(value = "coupon_id")
    private Long couponId;

    /**
     * 优惠劵ID
     */
    @TableField(value = "coupon_ids")
    private String couponIds;

    /**
     * 实体卡ID
     */
    @TableField(value = "card_id")
    private Long cardId;

    /**
     * 卡券ID集合
     */
    @TableField(value = "card_ids")
    private String cardIds;

    /**
     * 用户支付余额金额
     */
    @TableField(value = "points_money")
    private BigDecimal pointsMoney;

    /**
     * 用户支付积分金额
     */
    @TableField(value = "consumer_card_pay_money")
    private BigDecimal consumerCardPayMoney;

    /**
     * 用户支付现金金额
     */
    @TableField(value = "consumer_pay_money")
    private BigDecimal consumerPayMoney;

    /**
     * 累计退款积分
     */
    @TableField(value = "total_refund_points")
    private BigDecimal totalRefundPoints;

    /**
     * 用户支付总额
     */
    @TableField(value = "total_pay_money")
    private BigDecimal totalPayMoney;

    /**
     * 商品总额
     */
    @TableField(value = "product_total_money")
    private BigDecimal productTotalMoney;

    /**
     * 商品总进货价
     */
    @TableField(value = "mgr_total_purchase_price")
    private BigDecimal mgrTotalPurchasePrice;

    /**
     * 优惠金额
     */
    @TableField(value = "discount_money")
    private BigDecimal discountMoney;

    /**
     * 平台方利润金额
     */
    @TableField(value = "profit_money")
    private BigDecimal profitMoney;

    /**
     * 分销方利润金额
     */
    @TableField(value = "agent_profit_money")
    private BigDecimal agentProfitMoney;

    /**
     * 商城利润金额
     */
    @TableField(value = "mall_profit_money")
    private BigDecimal mallProfitMoney;

    /**
     * 分销商ID
     */
    @TableField(value = "agent_id")
    private Long agentId;

    /**
     * 站点ID
     */
    @TableField(value = "site_id")
    private Long siteId;

    /**
     * 站点专题ID
     */
    @TableField(value = "site_topic_id")
    private Long siteTopicId;

    /**
     * 分销方账户
     */
    @TableField(value = "agent_account")
    private String agentAccount;

    /**
     * 分销商户名称
     */
    @TableField(value = "agent_name")
    private String agentName;

    /**
     * 商户支付账号
     */
    @TableField(value = "agent_pay_account")
    private String agentPayAccount;

    /**
     * 商品订单
     */
    @TableField(value = "product_order_id")
    private Long productOrderId;

    /**
     * 电影票订单
     */
    @TableField(value = "movie_order_id")
    private Long movieOrderId;

    /**
     * 订单完成时间
     */
    @TableField(value = "complete_time")
    private Date completeTime;

    /**
     * 锁定金额转移执行状态0未执行1已执行
     */
    @TableField(value = "execute_status")
    private Integer executeStatus;

    /**
     * 订单版本1旧商城2新商城
     */
    @TableField(value = "o_version")
    private Integer oVersion;

    /**
     * 排序
     */
    @TableField(value = "`rank`")
    private Integer rank;

    /**
     * 消费下单备注
     */
    @TableField(value = "consumer_remark")
    private String consumerRemark;

    /**
     * 状态 1正常0下架
     */
    @TableField(value = "`status`")
    private Integer status;

    /**
     * 是否删除0否1是
     */
    @TableField(value = "dr")
    private Integer dr;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
}